package pl.edu.agh.jemo.conf.types;

import java.util.ArrayList;
import java.util.List;

import pl.edu.agh.jemo.evolution.population.Population;

/**
 * Class dedicated to list all available Population types.
 * It is used by user interface, in order to help user choosing type of population to be be used to store specimen.
 * 
 * @author Marcin.Zbijowski
 *
 */
public class PopulationTypesHandler {
	
	/**
	 * Returns collection of all available populations in jemo.
	 * Returned object is java.util.List, containing references to classes being extension of Population class.
	 * This method should be updated when adding new population implementations.
	 * 
	 * @return List of objects representing classes of available populations
	 */
	public static List<PrintableType<? extends Population>> getPopulationTypes() {
		List<PrintableType<? extends Population>> classes = new ArrayList<PrintableType<? extends Population>>();
		classes.add(new PrintableType<Population>(Population.class, "Population"));
		return classes;
	}

}
